package com.ke.jun.bg.testpetpackmvvm.app.event

import com.ke.jun.bg.petpackmvvm.base.appContext
import com.ke.jun.bg.petpackmvvm.base.viewmodel.BaseViewModel
import com.ke.jun.bg.petpackmvvm.callback.livedata.event.EventLiveData
import com.ke.jun.bg.testpetpackmvvm.app.util.CacheUtil
import com.ke.jun.bg.testpetpackmvvm.app.util.SettingUtil
import com.ke.jun.bg.testpetpackmvvm.data.model.bean.CollectBus
import com.ke.jun.bg.testpetpackmvvm.data.model.bean.UserInfo
import com.kunminx.architecture.ui.callback.UnPeekLiveData

/**
 * 描述　:APP全局的ViewModel，可以在这里发送全局通知替代EventBus，LiveDataBus等
 */
class AppViewModel:BaseViewModel() {
    //App的账户信息
    var userInfo = UnPeekLiveData.Builder<UserInfo>().setAllowNullValue(true).create()
    //App主题颜色 中大型项目不推荐以这种方式改变主题颜色，比较繁琐耦合，且容易有遗漏某些控件没有设置主题色
    var appColor = EventLiveData<Int>()
    //App 列表动画
    var appAnimation = EventLiveData<Int>()

    init {
        //默认值保存的账户信息，没有登陆过则为null
        userInfo.value = CacheUtil.getUser()
        //默认值颜色
        appColor.value = SettingUtil.getColor(appContext)
        //初始化列表动画
        appAnimation.value = SettingUtil.getListMode()
    }

}